{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-08-17T16:31:44.522682Z",
     "start_time": "2025-08-17T16:31:44.510204Z"
    }
   },
   "source": [
    "# 1. 导入库\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "from matplotlib import rcParams\n",
    "rcParams['font.sans-serif'] = ['SimHei'] #win\n",
    "# rcParams['font.sans-serif'] = ['STHeiti'] #mac"
   ],
   "outputs": [],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T16:26:23.568987Z",
     "start_time": "2025-08-17T16:26:23.323294Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 2. 导入数据\n",
    "df = pd.read_csv('../课件/data/house_sales.csv')"
   ],
   "id": "394fe6d40298aa8a",
   "outputs": [],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T16:33:10.198456Z",
     "start_time": "2025-08-17T16:33:10.151125Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 3. 数据概览\n",
    "print('总记录数：', len(df))\n",
    "print('字段数量：', len(df.columns))\n",
    "print(df.head(5))\n",
    "df.info()"
   ],
   "id": "2766bb54f599549e",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "总记录数： 106118\n",
      "字段数量： 12\n",
      "  city              address area     floor    name price province rooms  \\\n",
      "0   合肥   龙岗-临泉东路和王岗大道交叉口东南角  90㎡  中层（共18层）    圣地亚哥  128万       安徽  3室2厅   \n",
      "1   合肥   龙岗-临泉东路和王岗大道交叉口东南角  90㎡  中层（共18层）    圣地亚哥  128万       安徽  3室2厅   \n",
      "2   合肥      生态公园-淮海大道与大众路交口  95㎡  中层（共18层）  正荣·悦都荟  132万       安徽  3室2厅   \n",
      "3   合肥      生态公园-淮海大道与大众路交口  95㎡  中层（共18层）  正荣·悦都荟  132万       安徽  3室2厅   \n",
      "4   合肥  撮镇-文一名门金隅裕溪路与东风大道交口  37㎡  中层（共22层）  文一名门金隅   32万       安徽  2室1厅   \n",
      "\n",
      "  toward      unit    year                                       origin_url  \n",
      "0    南北向  14222元/㎡  2013年建  https://hf.esf.fang.com/chushou/3_404230646.htm  \n",
      "1    南北向  14222元/㎡  2013年建  https://hf.esf.fang.com/chushou/3_404230646.htm  \n",
      "2     南向  13895元/㎡  2019年建  https://hf.esf.fang.com/chushou/3_404304901.htm  \n",
      "3     南向  13895元/㎡  2019年建  https://hf.esf.fang.com/chushou/3_404304901.htm  \n",
      "4    南北向   8649元/㎡  2017年建  https://hf.esf.fang.com/chushou/3_404372096.htm  \n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 106118 entries, 0 to 106117\n",
      "Data columns (total 12 columns):\n",
      " #   Column      Non-Null Count   Dtype \n",
      "---  ------      --------------   ----- \n",
      " 0   city        106118 non-null  object\n",
      " 1   address     104452 non-null  object\n",
      " 2   area        105324 non-null  object\n",
      " 3   floor       104024 non-null  object\n",
      " 4   name        105564 non-null  object\n",
      " 5   price       105564 non-null  object\n",
      " 6   province    106118 non-null  object\n",
      " 7   rooms       104036 non-null  object\n",
      " 8   toward      105240 non-null  object\n",
      " 9   unit        105564 non-null  object\n",
      " 10  year        57736 non-null   object\n",
      " 11  origin_url  105564 non-null  object\n",
      "dtypes: object(12)\n",
      "memory usage: 9.7+ MB\n"
     ]
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:15:19.616970Z",
     "start_time": "2025-08-17T17:15:19.585958Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 4. 数据清洗\n",
    "# 删除无用的数据列\n",
    "df.drop(columns='origin_url',inplace=True)"
   ],
   "id": "d4fbe899ca9cbac1",
   "outputs": [],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:15:21.243614Z",
     "start_time": "2025-08-17T17:15:21.167552Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 检查是否有缺失值\n",
    "df.isna().sum()\n",
    "# 删除缺失值\n",
    "df.dropna(inplace=True)"
   ],
   "id": "37338d9fda8ee61f",
   "outputs": [],
   "execution_count": 12
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:17:01.707698Z",
     "start_time": "2025-08-17T17:17:01.564984Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 检查是否有重复值\n",
    "df.duplicated().sum()\n",
    "# 删除重复数据\n",
    "df.drop_duplicates(inplace=True)\n",
    "# print(len(df))\n",
    "# 面积的数据类型转换\n",
    "df['area'] = df['area'].str.replace('㎡','').astype(float)\n",
    "# 售价的数据类型转换\n",
    "df['price'] = df['price'].str.replace('万','').astype(float)\n",
    "# 朝向的数据类型转换\n",
    "df['toward'] = df['toward'].astype('category')\n",
    "# 单价的数据类型转换\n",
    "df['unit'] = df['unit'].str.replace('元/㎡','').astype(float)\n",
    "# 建造年份的数据类型转换\n",
    "df['year'] = df['year'].str.replace('年建','').astype(int)"
   ],
   "id": "6f8b488cd6fcae49",
   "outputs": [],
   "execution_count": 13
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:40:37.655321Z",
     "start_time": "2025-08-17T17:40:37.628614Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 异常值的处理\n",
    "# 房屋面积的异常处理\n",
    "df = df[ (df['area']<600) & (df['area']>20)]"
   ],
   "id": "7a7eda8d461873fa",
   "outputs": [],
   "execution_count": 14
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:40:38.745420Z",
     "start_time": "2025-08-17T17:40:38.720447Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 房屋售价的异常处理  IQR\n",
    "Q1 = df['price'].quantile(0.25)\n",
    "Q3 = df['price'].quantile(0.75)\n",
    "IQR = Q3 - Q1\n",
    "low_price = Q1 - 1.5*IQR\n",
    "high_price = Q3 + 1.5*IQR\n",
    "df = df[ (df['price']<high_price) & (df['price']>low_price) ]"
   ],
   "id": "f610771d815af0f8",
   "outputs": [],
   "execution_count": 15
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:55:29.188029Z",
     "start_time": "2025-08-17T17:55:29.158942Z"
    }
   },
   "cell_type": "code",
   "source": "df.head()",
   "id": "48c13ae00e220001",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "  city                       address   area     floor    name  price province  \\\n",
       "0   合肥            龙岗-临泉东路和王岗大道交叉口东南角   90.0  中层（共18层）    圣地亚哥  128.0       安徽   \n",
       "2   合肥               生态公园-淮海大道与大众路交口   95.0  中层（共18层）  正荣·悦都荟  132.0       安徽   \n",
       "4   合肥           撮镇-文一名门金隅裕溪路与东风大道交口   37.0  中层（共22层）  文一名门金隅   32.0       安徽   \n",
       "6   合肥                 龙岗-长江东路与和县里交口   50.0  高层（共30层）    柏庄金座   46.0       安徽   \n",
       "8   合肥  新亚汽车站-张洼路与临泉路交汇处向北100米(原红星机械  120.0  中层（共27层）    天目未来  158.0       安徽   \n",
       "\n",
       "  rooms toward     unit  year district floor_type floor_type2  zxs  bedrooms  \\\n",
       "0  3室2厅    南北向  14222.0  2013       龙岗         中层         中楼层    0         3   \n",
       "2  3室2厅     南向  13895.0  2019     生态公园         中层         中楼层    0         3   \n",
       "4  2室1厅    南北向   8649.0  2017       撮镇         中层         中楼层    0         2   \n",
       "6  2室1厅     南向   9200.0  2019       龙岗         高层         高楼层    0         2   \n",
       "8  4室2厅     南向  13167.0  2012    新亚汽车站         中层         中楼层    0         4   \n",
       "\n",
       "   livingrooms  building_age price_labels  \n",
       "0            2            12           中价  \n",
       "2            2             6           中价  \n",
       "4            1             8           低价  \n",
       "6            1             6           低价  \n",
       "8            2            13           高价  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>city</th>\n",
       "      <th>address</th>\n",
       "      <th>area</th>\n",
       "      <th>floor</th>\n",
       "      <th>name</th>\n",
       "      <th>price</th>\n",
       "      <th>province</th>\n",
       "      <th>rooms</th>\n",
       "      <th>toward</th>\n",
       "      <th>unit</th>\n",
       "      <th>year</th>\n",
       "      <th>district</th>\n",
       "      <th>floor_type</th>\n",
       "      <th>floor_type2</th>\n",
       "      <th>zxs</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>livingrooms</th>\n",
       "      <th>building_age</th>\n",
       "      <th>price_labels</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>合肥</td>\n",
       "      <td>龙岗-临泉东路和王岗大道交叉口东南角</td>\n",
       "      <td>90.0</td>\n",
       "      <td>中层（共18层）</td>\n",
       "      <td>圣地亚哥</td>\n",
       "      <td>128.0</td>\n",
       "      <td>安徽</td>\n",
       "      <td>3室2厅</td>\n",
       "      <td>南北向</td>\n",
       "      <td>14222.0</td>\n",
       "      <td>2013</td>\n",
       "      <td>龙岗</td>\n",
       "      <td>中层</td>\n",
       "      <td>中楼层</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "      <td>中价</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>合肥</td>\n",
       "      <td>生态公园-淮海大道与大众路交口</td>\n",
       "      <td>95.0</td>\n",
       "      <td>中层（共18层）</td>\n",
       "      <td>正荣·悦都荟</td>\n",
       "      <td>132.0</td>\n",
       "      <td>安徽</td>\n",
       "      <td>3室2厅</td>\n",
       "      <td>南向</td>\n",
       "      <td>13895.0</td>\n",
       "      <td>2019</td>\n",
       "      <td>生态公园</td>\n",
       "      <td>中层</td>\n",
       "      <td>中楼层</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>中价</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>合肥</td>\n",
       "      <td>撮镇-文一名门金隅裕溪路与东风大道交口</td>\n",
       "      <td>37.0</td>\n",
       "      <td>中层（共22层）</td>\n",
       "      <td>文一名门金隅</td>\n",
       "      <td>32.0</td>\n",
       "      <td>安徽</td>\n",
       "      <td>2室1厅</td>\n",
       "      <td>南北向</td>\n",
       "      <td>8649.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>撮镇</td>\n",
       "      <td>中层</td>\n",
       "      <td>中楼层</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>8</td>\n",
       "      <td>低价</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>合肥</td>\n",
       "      <td>龙岗-长江东路与和县里交口</td>\n",
       "      <td>50.0</td>\n",
       "      <td>高层（共30层）</td>\n",
       "      <td>柏庄金座</td>\n",
       "      <td>46.0</td>\n",
       "      <td>安徽</td>\n",
       "      <td>2室1厅</td>\n",
       "      <td>南向</td>\n",
       "      <td>9200.0</td>\n",
       "      <td>2019</td>\n",
       "      <td>龙岗</td>\n",
       "      <td>高层</td>\n",
       "      <td>高楼层</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>低价</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>合肥</td>\n",
       "      <td>新亚汽车站-张洼路与临泉路交汇处向北100米(原红星机械</td>\n",
       "      <td>120.0</td>\n",
       "      <td>中层（共27层）</td>\n",
       "      <td>天目未来</td>\n",
       "      <td>158.0</td>\n",
       "      <td>安徽</td>\n",
       "      <td>4室2厅</td>\n",
       "      <td>南向</td>\n",
       "      <td>13167.0</td>\n",
       "      <td>2012</td>\n",
       "      <td>新亚汽车站</td>\n",
       "      <td>中层</td>\n",
       "      <td>中楼层</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>13</td>\n",
       "      <td>高价</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 18
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T17:55:26.037839Z",
     "start_time": "2025-08-17T17:55:25.890330Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 5. 新数据特征构造\n",
    "# 地区district\n",
    "df['district'] = df['address'].str.split('-').str[0]\n",
    "# 楼层的类型floor_type\n",
    "df['floor_type'] = df['floor'].str.split('（').str[0].astype('category')\n",
    "def fun1(str1):\n",
    "    if pd.isna(str1):\n",
    "        return '未知'\n",
    "    elif '低' in str1:\n",
    "        return '低楼层'\n",
    "    elif '中' in str1:\n",
    "        return '中楼层'\n",
    "    elif '高' in str1:\n",
    "        return '高楼层'\n",
    "    else:\n",
    "        return '未知'\n",
    "df['floor_type2'] = df['floor'].apply(fun1).astype('category')\n",
    "# 是否是直辖市zxs\n",
    "df['zxs'] = df['city'].apply(lambda x: 1 if x in ['北京','上海','天津','重庆'] else 0)\n",
    "# 卧室的数量bedrooms\n",
    "df['bedrooms'] = df['rooms'].str.split('室').str[0].astype(int)\n",
    "# 客厅的数量livingrooms\n",
    "# df['rooms'].str.split('室').str[1].str.split('厅').str[0].astype(int)\n",
    "df['livingrooms'] = df['rooms'].str.extract(r'(\\d+)厅').astype('int') #正则表达式\n",
    "# 楼龄building_age\n",
    "df['building_age'] = 2025 - df['year']\n",
    "# 价格的分段price_labels\n",
    "df['price_labels'] = pd.cut(df['price'],bins=4,labels=['低价','中价','高价','豪华'])"
   ],
   "id": "103d9d826cfdfb6b",
   "outputs": [],
   "execution_count": 17
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T18:07:54.302620Z",
     "start_time": "2025-08-17T18:07:54.282190Z"
    }
   },
   "cell_type": "code",
   "source": "# 6. 问题分析及可视化\n",
   "id": "196e377f3a092d8f",
   "outputs": [],
   "execution_count": 20
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T18:08:37.350481Z",
     "start_time": "2025-08-17T18:08:37.241580Z"
    }
   },
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A1\n",
    "问题: 哪些变量最影响房价？面积、楼层、房间数哪个影响更大？\n",
    "分析主题: 特征相关性\n",
    "分析目标: 了解房屋各特征对房价的线性影响\n",
    "分组字段: 无\n",
    "指标/方法: 皮尔逊相关系数\n",
    "'''\n",
    "# 选择数值型特征\n",
    "a = df[['price','area','unit','building_age']].corr()#相关系数\n",
    "print(a)\n",
    "# 对房价的影响最大的几个因素的排序\n",
    "a['price'].sort_values(ascending=False)[1:]\n",
    "print(a['price'].sort_values(ascending=False)[1:])\n",
    "# 相关性的热力图\n",
    "plt.figure(figsize = (5,5))\n",
    "sns.heatmap(a,cmap='coolwarm') #cmap颜色\n",
    "plt.title('房屋特征相关性热力图')\n",
    "plt.tight_layout()#避免坐标轴被压缩\n",
    "# df.head()"
   ],
   "id": "b3272a6fea507fc",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                 price      area      unit  building_age\n",
      "price         1.000000  0.452523  0.742731      0.091520\n",
      "area          0.452523  1.000000 -0.164320     -0.083923\n",
      "unit          0.742731 -0.164320  1.000000      0.199128\n",
      "building_age  0.091520 -0.083923  0.199128      1.000000\n",
      "unit            0.742731\n",
      "area            0.452523\n",
      "building_age    0.091520\n",
      "Name: price, dtype: float64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 500x500 with 2 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdoAAAHqCAYAAACjno8CAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOxlJREFUeJzt3QucVfP+//HPnm5SSpFSyeEX6aRydHMSuriGlCQi5FYoUv2odFFC4XAOuYTjlku6oRyXk0jJrYMcpXtRShelUtTQrP/j/f091vz3TDPTnt3aa2b2ej0fj12z1+y99net2Xt/1ufz/a7vinme5xkAAEiJjNSsFgAACIEWAIAUItACAJBCBFoAAFKIQAsAQAoRaAEASCECLQAAKUSgBQAghQi02CfmNAGA5BFoUaAZM2bYaaedZjt37gztNc866yx79tln91r+n//8x/785z/b7t27C3z+l19+af/4xz/sl19+SboNvXr1skmTJtn+euedd/Y6UPnqq6/cthRkx44d9q9//SvfbVi5cqWtW7dun69/9tln2+LFi3Ms+/jjj+2uu+6y33//3Qrr4osvtrFjxyb0WL1ntm/fXqjbb7/9Vug2AcVd6aJuAIq3Y4891jZs2GAfffSRC4AFGTZsmE2cONEyMvZ9/HbQQQfZZ599lufvSpcubRUqVMi+r8BatmxZq1ixou3Zs8f9rOCVmZnpXqtMmTLZj83KyrL77rvP1qxZ44LCpk2b7I8//rBSpUrl+VoKNocccohVq1Ytx/IffvjBffH7Bg8ebFOmTMlzHXq+gldu33//vQ0YMMC15brrrste/uKLL9rs2bPt3XfftapVq+a5zo0bN1q/fv1csNW+kl9//dUOPPBA9/Pw4cOtXr16NmTIECuI/na5aT2vv/66DR061Arrp59+sp9//jmhx95www35/o3zo/fYww8/XOh2AcUZgRbZ9OV7++235/m7m2++ea9lgwYNsquuuir7vgJex44dbfTo0QW+jrI5BZF4K1assHvuucfuvfdeF2jLlSvnlitINmrUKMdjjzvuuOyf9fgLL7ww+/7jjz9u33zzjT333HN2+OGH2+WXX24LFy50ATkWi7lMUYHaD9Za/y233GJXX311jtfQ4+ODs9p06qmnugAXT8Hy+eefz3M7jzzySBdgFTjatm1r//M//+Nef+bMmda3b998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AQcc4G5nn322C7qXXnppMqsDAERFrOhO79G5s+qn1ak9onJwy5YtXUl5+/bt2YljvPPOO8+Vjz/55BNbu3atjRgxwmWyGkiV0kA7f/58Nzz6mmuucdG9W7dudvfdd9tHH32UzOoAAEi50qVL26hRo+yuu+6yFi1a2MyZM23AgAHZQViTWeR28sknu8fceeedds4559j3339v//jHP7JLyQm9bjKNVcqsoNq+fXtbvny560g+9thjbcmSJcmsDgAQFbGiPdmlXbt2NmPGDFu4cKEb5FSlShW3vKD41aVLF3dLVlKBVtG9f//+roO4bdu2bjor9dE2adIk6YYAANKfVwyuR1utWjVr3bp1aK+XVKA9/fTTbc6cOXbggQe684nefPNNV0Lu2LFj8C0EAKAES/r0nkqVKrn/NWLrggsucD/rxF8AAPIVi16cSGqLNWpr6NChbrTWCSec4DqQVUZesGBB8C0EACBqgXbw4MFumPPo0aPdnJEHHXSQXXXVVYWelgoAEDFFfJm8ElM6/vjjj2369OluhgyVizXMuVOnTvboo48G30IAQPrIoHScEJ2s61/DT0FWt3nz5tkxxxwTdPsAACjRkspodU2+66+/3iZMmOBGG/ft29fWrVvnpmUEAKA4n95TIgJto0aN3Am/s2bNctfn0+WDdE6S+moBAEAAp/coqJ5//vnJPh0AEEUx+mgTopLxxo0bg28NACCtebGMwG/FXVItfO6552zRokXBtwYAgDSTVKC98cYb3cAnDYQCACBhMc6jTcjq1avd/2eeeaab31iTVvh69+4dXOsAACjhkgq0mhXqqKOOcrctW7YE3yoAQFrySkCfarEItPfee2+eywm6AIACxYp/qbdYBNoVK1bYfffdZ6tWrbI9e/a4ZboerUYic2EBAAD+v6Ry+EGDBrlpGJs3b24NGjSwYcOGWbly5dwF4QEAyFcsI/hbMZdUC3VZvGuvvda6du3qZoY67bTTbNSoUdnzHwMAgP0ItBoENWnSJKtXr54bgfzzzz/bIYccYj/88EMyqwMARGiuYy/gW9peVOCWW26xLl26WOfOne3ss892V/Bp27Zt8C0EAKSPWPEv9RaLQNukSRObM2eO+/l///d/XelYk1eccsopQbcPAIBoXlRAGaxPg6IAANgXz4p/qTdo0cvhAQAoCRktAACF5dFHCwBACsWi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4gvr2LGjNW7c2O3/5cuX73OfF7Tv3nvvPff4E044wa688krbsGGDRd1nn31mbdu2zbFM71e957V85syZ1qZNG2vevLm9+OKL+3xvDxs2zC37/PPPbdCgQe5nLStufv/9d7v55pvd5++6666zzZs357svtJ37U+b94IMP7IwzzrAWLVrY66+/vtfv81qn35b89v/ixYvtvPPOc8vvueceO/vss238+PH7bEtBn4FPPvnEvWarVq1szJgxdtppp7nXF7X7zDPPdNvw4IMPGteVSb3IBVr55ptv3IdSb7iyZcva8OHDs3/30Ucf2UsvvWS33367tWvXbp/r0pf/tdde697I77zzjjVs2NAGDBjgfrd9+3b3wT/11FNt2rRptmPHDhs9erRFTVZWlt1yyy3uC0pfDs2aNXMf/oL2eUH7btu2bXbrrbdaz5497d///rcdcsgh9vjjjxfZ9pUEP//8sz311FP25JNPuqCkfbl79+4CnzN48GBXBj3xxBNdgNXPWlbcfPXVVy646X2ijHLkyJEpeZ2ffvrJve/0vpw4caLNmjUrkP1/55132rnnnmsvvPCCTZ482e6++27r0KFDgesr6DOgwHnbbbe517n//vvtlVdeseeee84FVv0NhwwZ4g5wn3/+eXvttdfcfkNqRfLC7zVq1HAfllgsZn369HEZ1h9//OF+t3r1avfGPeiggxJalz5sKhXdeOON7r4yr7lz52b/rkyZMm6ZXuvqq692wSSK9IGuXLmyO3pXEF21alX27/La5wXtuwMPPNBlFnq8Dpp+/fVXl8Ugf9pH+kI/5phj7Mgjj7S77rrLBY5atWrl+5wDDjjA3UqXLm3ly5cvtiXRatWquQqVgqzeL6oq6Ra0OXPmWO3ate3iiy929/Xdcf311+/3/l+0aJHde++9dtRRR7nf//jjj66KU5CCPgNbtmxxVbr27du7RKJixYq2detWt35Vjk4//fTsbP+CCy6w999/3/2P1IlsoNWXt1SvXt327Nnj3oii8maiQVb0odCHz6dgoje4rF+/3r3plcH5md3OnTvdkWy5cuUsKvQFqCNqHa0fccQRdvjhh7t94ctrnxe07/S3+9vf/ua+II4++mirUKFCjvXh//z222853pfHHXec+1lfvpIuJUMFK73H/MFIOmhWBpnfvkjWpk2b3HvXp/dyogra/3Xq1LH58+dblSpV7LvvvrO6devuc316bn6fgYMPPti9ntap7zpV3RTc/c+VStlNmzbNLrszSjr1Ihlo161b596o+sJWoNQRu97k/pFiYeiDt3bt2uz7Cgbqr3322Wfdm7xBgwb20EMPud/pNVUC1etFiT7YCrJvvfWWK3F9+OGHtnDhwuzf57XPC9p3OirXl4i+ZPQFo7KzyvZRp/dz/AFH/D5WVrM/6y3OQVl9k/7nWZlcqVKl7NBDD813XySratWq2eM5RN8dicpv/6vdCqyjRo2yoUOH2mWXXZYdkAvy5ptv5vsZUOJQv359l23roENdWWq7/7nS99NVV13l7uv3HKSmXiT7aPVhGTdunK1Zs8bGjh3r+gX14UxG69atXX+J1qejRfWT6I2uD7p+pw+jBvWoBPfuu++6/tzi/KWVCjr4EJWMNShKZbJ97YOC9p3Wp/+13xW0tc+jtk/zouqMsi4d+CmDe/jhhwNZrzKuTz/91H1uPv74Y/f+Lk70Pnn66afdQCR9njVeIhX7QgOLVq5c6bpB1N2hQXz7S+v7z3/+4/pRZ8yY4QadJaKgz4D+Vspip0yZ4rpg/KDqV48UnFW21kGrDmT//ve/7/d2oGCRDLQapacv8PPPP9+VTnQkmSyVPPUh15v3nHPOsa+//tp92HV0rT6txx57zGW36hfREac+EFHLaE855RT3JXXhhRe6fir1celLWx/2/BS07zp16uTKhSrRP/roo+4IfcWKFfsc3JPuVB684oor7NJLL7Vu3bq5n4Og/k8dlKpfTwMHi1sGpAGIOoDTACIFVb3HUrEvlA0+8MAD7vOtdWqQ2P5Sv6mqPDpXWQf8jRo1Smhkd0GfAbVL/bVqoz53uq/HiErG6lvWYCl9X+n7L34wKFIj5kUsFdCpDjoiTWT4PACk0qRJk9xBpErHqtwsWbLElXxVOUi23K8MVeX0vn37ugGFynBHjBjhunBQNKKVWgFAMXLSSSe5/ladR6tsVIO5+vfv77pZ1H2SX4XIH7uQF2XGGtWs83GVsSprLo7nP0dJ5DJaACjuNEhJYz7yolOtVG5GyUGgBQAghSI5GAoAgLAQaAEASCECLQAAKUSgBQAghQi0AACkEIEWAIAUItACAJBCBFoAACx1/h+O7xKBfQCIGgAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 22
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T18:23:43.752573Z",
     "start_time": "2025-08-17T18:23:43.587390Z"
    }
   },
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A2\n",
    "问题: 全国房价总体分布是怎样的？是否存在极端值？\n",
    "分析主题: 描述性统计\n",
    "分析目标: 概览数值型字段的分布特征\n",
    "分组字段: 无\n",
    "指标/方法: 平均数/中位数/四分位数/标准差\n",
    "'''\n",
    "df.describe()\n",
    "# 房价分布直方图\n",
    "plt.subplot(111)\n",
    "plt.hist(df['price'],bins=10)\n",
    "df.head()\n",
    "sns.histplot(data=df,x='price',bins=10,kde=True)"
   ],
   "id": "d8339ee6e6b6938b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='price', ylabel='Count'>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 27
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T18:24:44.772731Z",
     "start_time": "2025-08-17T18:24:44.595026Z"
    }
   },
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A3\n",
    "问题: 哪些城市房价最高？直辖市与非直辖市差异如何？\n",
    "分析主题: 城市对比\n",
    "分析目标: 比较不同城市房价水平\n",
    "分组字段: city\n",
    "指标/方法: 均价/单价中位数/箱线图\n",
    "'''\n",
    "# 按城市统计\n",
    "city_stats = df.groupby('city').agg({\n",
    "    'price': ['mean', 'median', 'count'],\n",
    "    'unit': ['mean', 'median']\n",
    "})\n",
    "print(\"\\n各城市房价统计:\")\n",
    "display(city_stats.sort_values(('unit', 'mean'), ascending=False).head(10))\n",
    "\n",
    "# 可视化前10城市\n",
    "top_cities = city_stats.sort_values(('unit', 'mean'), ascending=False).head(10).index\n",
    "df_top = df[df['city'].isin(top_cities)]\n",
    "\n",
    "plt.figure(figsize=(12, 6))\n",
    "sns.boxplot(x='city', y='price', data=df_top, order=top_cities)\n",
    "plt.title('TOP10城市房价分布对比', fontsize=14)\n",
    "plt.xlabel('城市')\n",
    "plt.ylabel('价格(元)')\n",
    "plt.xticks(rotation=45)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "id": "87a1cf3bb5b73bb7",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "各城市房价统计:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "           price                        unit         \n",
       "            mean  median count          mean   median\n",
       "city                                                 \n",
       "深圳    250.769231  266.00    13  47923.307692  42190.0\n",
       "桐庐    190.124600  201.85    50  28016.580000  25556.5\n",
       "淳安    206.106667  208.00    45  27942.377778  29563.0\n",
       "上海    184.794444  207.00    54  27447.703704  27319.5\n",
       "蓟州    190.321944  178.50    72  25995.027778  22035.5\n",
       "杭州    191.910000  200.00    40  25972.125000  23239.5\n",
       "厦门    201.264706  209.00    17  25074.705882  26018.0\n",
       "福州    189.452174  191.00    46  24693.673913  22180.5\n",
       "建德    171.941190  157.00    42  24198.714286  24398.0\n",
       "苏州    210.793056  212.50    72  24088.111111  22797.5"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">price</th>\n",
       "      <th colspan=\"2\" halign=\"left\">unit</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>median</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>median</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>city</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>深圳</th>\n",
       "      <td>250.769231</td>\n",
       "      <td>266.00</td>\n",
       "      <td>13</td>\n",
       "      <td>47923.307692</td>\n",
       "      <td>42190.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>桐庐</th>\n",
       "      <td>190.124600</td>\n",
       "      <td>201.85</td>\n",
       "      <td>50</td>\n",
       "      <td>28016.580000</td>\n",
       "      <td>25556.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>淳安</th>\n",
       "      <td>206.106667</td>\n",
       "      <td>208.00</td>\n",
       "      <td>45</td>\n",
       "      <td>27942.377778</td>\n",
       "      <td>29563.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>上海</th>\n",
       "      <td>184.794444</td>\n",
       "      <td>207.00</td>\n",
       "      <td>54</td>\n",
       "      <td>27447.703704</td>\n",
       "      <td>27319.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>蓟州</th>\n",
       "      <td>190.321944</td>\n",
       "      <td>178.50</td>\n",
       "      <td>72</td>\n",
       "      <td>25995.027778</td>\n",
       "      <td>22035.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>杭州</th>\n",
       "      <td>191.910000</td>\n",
       "      <td>200.00</td>\n",
       "      <td>40</td>\n",
       "      <td>25972.125000</td>\n",
       "      <td>23239.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>厦门</th>\n",
       "      <td>201.264706</td>\n",
       "      <td>209.00</td>\n",
       "      <td>17</td>\n",
       "      <td>25074.705882</td>\n",
       "      <td>26018.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>福州</th>\n",
       "      <td>189.452174</td>\n",
       "      <td>191.00</td>\n",
       "      <td>46</td>\n",
       "      <td>24693.673913</td>\n",
       "      <td>22180.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>建德</th>\n",
       "      <td>171.941190</td>\n",
       "      <td>157.00</td>\n",
       "      <td>42</td>\n",
       "      <td>24198.714286</td>\n",
       "      <td>24398.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>苏州</th>\n",
       "      <td>210.793056</td>\n",
       "      <td>212.50</td>\n",
       "      <td>72</td>\n",
       "      <td>24088.111111</td>\n",
       "      <td>22797.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "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9ttvvyp0ynJmWFyGmmWOpoRV1157bZk9e3bXMLhMzp37E2akSilB17O1qtf4zW9+U4VsEyZM6LovlVp5L0899dTyve9972m3VB4902Tw3SX0SljXfTL5NfkfMvl53sO898vLnFErC6WWl9BtdaQtVzZcMq+RtsxQzsw7laq2zKmV7xvzZGV+rZ4MC21Ug1166aXV/FS58uKtt966yudnkvVc3REAePaEUgBAjyQIOPbYY6vKnsztkzmQEhYkpJo4ceIKr7DWGyZPnlwNtTvqqKOqq6wlBMtE4wmSEkJFKmYyLO/EE08s11xzTRWqZILshFkHHXRQufLKK8uhhx5aBS677757+dOf/tR1Vb18n+AjE7En7OquEXo803C56dOnV1ehS7CxsnmNMrF3QrTGvEn5vUzAnjmSsoypCOt+y/Lnioc9CaUSZKVS6tm0Rd6766+/vqoyS5v3pFJqecvPP7a8hIZveMMbqs/V4MGDqwnol//9TGCeidA/+9nPVlfIyxxWaecMu0y7rskVJFPNlRA1AVfmpcpn+a1vfetKg8UMGUw11oc//OEe/T0AYMUM3wMA1iggyjxOF154YTnrrLOqsChXtPvABz7QZ38zIU+urvahD32ovP/976/ue+5zn1uFSI15mFJh0/0KbwkfEjg0Ap9U4qTSJkFEAoYsb6qWPv3pT1eve8wxx5Q//OEPVcXV61//+mWqaVakEVzka4KbhBz5/Qyby5XnlpfgLpVeCdYiV5B73/veV+67775qCOGK5mf6zne+U1U+repKcFm+xrLktRrD2pYf1ri68j5nmFyuapc5wZaXcCiVXc973vNW6/USIiX0WT7oa0xcn+GB+R9e/epXV0Pzus+rlbnLGu2SwK/7VQkz11VCrMZV+LrL+7CyqqtUy8XPfvaz6rOQttpuu+26Hk9bJgjL/FSN5c7726gGbISgAMCzM6izN2rUAQBqkrAgc0vla4beNa6otyKHH354VSWVq7LtuOOOXfen2iYBRypyUhGUYW5f+9rXquFzcd555y0zZC1VVAmxdt5552X+3kknnVQFFb///e+rsCuBU8KWBEgJS5Zf7n333bcKNxJOJWxK1U0qpRKK7bnnnl3PvfPOO6thiHlufi8hTaqJVjY07eUvf3mZNGlSee1rX1uOPvro6jW//vWvV2FcdwnofvrTn1ZzRa1IhhGee+651dC/VJJlubr/zYRVv/71r6tQKn/jm9/8Ztc8XT2VMDHtkrBpVRJcff7zny8vfelLq5DsmWQZL7jggiqAzLKnimr5ubVy9cNU9yXsWlFwl7Z+17veVQ3z7C4BVz4XZ5999iqvrggArB6VUgBAW0kYsMsuu6zWcxOq3HjjjcsEUvGmN72pGt52/PHHd125L8O2UnmV5yfc6S7VMstX+nSfUD2TgSeUWlU1U5Y7VVyZeD3fZ06pDMnLELTu1T+RSbtToZQhfptuumn1/65qrqQMO8wypGItQ+oSli0fSEWqkRrLvLzHH3+8Gn6YCevz+6mGW77KKNVEqR7K+5nAb00DqchyrKwCrbssQ6rJVlcq3DJ8Mu9pKqhWNNl7hv6lym9l8t796Ec/qpax+3xYabfGsEsA4NlTKQUAQFcwleFyqzssDwDg2RBKAQAAAFA7V98DAAAAoHZCKQAAAABqJ5QCAAAAoHYD5up7uZxwrp6SK7gMGjSo2YsDAAAA0C9l+vLkMEOGDHna1XwHZCiVQOqmm25q9mIAAAAADAjbbbddGTZs2EofHzChVCOZyxsyePDgZi8OAAAAQL+0ZMmSqjBoVVVSAyqUagzZSyAllAIAAADoW880fZKJzgEAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoJpQAAAAConVAKAAAAgNoNqf9PQnubO3duWbBgQWknI0eOLOPGjWv2YrQE7QewZmw/ARio2m0fOLKN9n9CKeiBefPmlcmTJ5elS5eWdtLR0VFmzpxZRo8eXQYy7QewZmw/ARio2nEf2NFG+79BnZ2dnWUAWLJkSbnxxhvLDjvsUAYPHtzsxaGN9UVKPnv27DJt2rRy0kknlc0337wM5KS8Xc9y9GUbaj+gFdh+AjBQtdsx4MgW2P+tbgajUgp6qC9X7myMxo8f32evT9+2X2jDvtVupdOt0imA3mD7CcBA5Riw7zQ1lPrHP/5R7r333rLFFluUUaNGNXNRAGhx7Vg63W7l0wAAMCBCqe9///vl5JNPLhtvvHG57777yumnn17+9V//tdxxxx3lhBNOKHPmzCkHHXRQOf7448ugQYOq37nuuuvKKaecUh555JFy5JFHlsMOO6xZiw9AzRLqzJgxoy2HDwmkAGDgUukNLRZKPfroo+XUU0+tDi5e9KIXVWeQzzrrrLLXXntVYdNuu+1WzjnnnDJ16tTqsQMPPLAKot773vdWQdS+++5bpkyZUrbZZpuyyy67NONfAKAJDB8CANqJSm9owVAqKfGJJ55YBVLx4he/uPz9738vV199dfVYKqVGjBhRBU8JrxJKfetb3yobbbRROfroo6vKqaOOOqpcfvnlQikAAABakkpvaMFQKkP29ttvv+r7J598snz1q18te++9d7ntttvKhAkTqkAqtt5663L33XdX399+++3lFa94RddQvu23376cffbZazQDfLMp32Rln8t8bYXPKD2nDdub9quH/R8rYv0D+ruxY8dWt97W2GZusskmZauttuqz16dv9Pf935LV/J+aOtF5Qqh3vOMdZejQoeV73/te+fznP1+tUA0JoFI2OH/+/KoT231FSyfxoYce6vHfvOmmm0oz5f/42Mc+Vjo7O0s7STtkPq+87/S++++/v/qaOdUee+yxZi8Oa0Abtjft1/fs/1gZ6x/AmrH9bG/arwVCqVRCXXjhhdUk5x/5yEfKpptuWoYNG7bMc4YPH14WLVpUBg8evMxjjft7arvttqteq5kuvvjiXj9TnInh8z5m6ONmm21WepszxX1rrbXWqr5mLhvz2bQnbdjetF/77v/6eh9o/9f3rH8Aa8b2s7319/ZbsmTJahUFNTWUSiXUtttuWz75yU9Ww/cyh9Sdd965zHMWLlxYVVKNGjWqmux8+ft7KoFUs0OphG+9rfE/bbnllv3yA93fNdqvFT6frBlt2N60X/vu/8I+sL1Z/wDWjO1ne9N+/6ejNMF1111XzjjjjK6fUwGVgCrD82688cau+++7776yePHiKpBKhVP3x2699dY+GZcLAAAAQD8NpbbYYoty6aWXlv/93/8tf/7zn8unPvWp8qpXvarsscceVVn/FVdcUT3v/PPPL7vuumuVGu65557l+uuvL9dcc001OfoFF1xQdtttt2YsPgAAAADtGEpttNFG5TOf+Uw1t8Qb3vCG8vjjj5czzzyzDBkypEydOrWcdtpp1ZX2fvzjH5cPfehD1e+sv/761VwRRxxxRBVg3XvvveW9731vMxYfAAAAgGep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Hmvc31M33XRT6Y/uv//+roniH3vssTLQNd4P+l5ffOa0X320X3vTfu2tL9tPJWt7tqH1r17ar71pv/am/drbHb3Yfk0Npa699tpyySWXlEsvvbQMHTq0jBo1qtx5553LPGfhwoVdj2Wy8+Xv76ntttuuCrj6m7XWWqv6On78+Oo20DXeD/peX3zmtF99tF97037trS/bz/D1eoaw93YbWv/qpf3am/Zrb9qv/7ffkiVLVqsoqGmh1H333VdNdv7Rj360vOAFL+gKjC677LJlnpPhfQmk8th3vvOdrsduvfXWMnbs2B7/3QRS/TGUavxP/fX/6ynvQX364jOn/eqj/dqb9mtvfdl+hq+3Zxta/+ql/dqb9mtv2q+9De7F9usoTZBhd0ceeWTZa6+9yt57711VPeW20047VXNHXXHFFdXzzj///LLrrrtW/+yee+5Zrr/++nLNNdeUJ598slxwwQVlt912a8biAwAAAPAsNaVS6he/+EW56667qluG7jX8+Mc/LlOnTq0qqM4888xqkvPp06dXj62//vrlhBNOKEcccURVmrfOOuuUT37yk81YfAAAAADaMZR67WtfW26//fYVPpar782aNavccsstZcKECWW99dbremzSpElVddQ999xTVVWtvfbaNS41AAAAAL2l6VffW5ENN9ywTJw4cYWPbbrpptUNAAAAgPbVlDmlAAAAABjYhFIAAAAA1E4oBQAAAEDthFIAAAAA1E4oBQAAAEDthFIAAAAA1G5I/X8SAACgf+p4fF6zF6Ff8/5C/yKUAgAA6CUj7r262YsA0DaEUgAAAL3k8S13L0tHjG72YvTrSinBH/QfQikAAIBekkBq6dpjmr0YAG3BROcAAAAA1E4oBQAAAEDthFIAAAAA1E4oBQAAAEDthFIAAAAA1E4oBQAAAEDthFIAAAAA1E4oBQAAAEDthFIAAAAA1E4oBQAAAEDthvT0Fx555JFy5513locffrisvfbaZeONNy7jx4/vm6UDAAAAYGCHUr/97W/LZz/72TJv3ryy3XbblfXXX7889thjZc6cOdXtgAMOKIcffngZNmxY3y4xAAAAAP0/lFq8eHH5+Mc/Xh544IHy4Q9/uGyzzTZPe07CqS9/+cvloIMOKuecc07Zaqut+mp5AQAAABgIc0p97WtfK+PGjSsXXXTRCgOpWGuttcr73ve+8olPfKKcddZZfbGcAAAAAAykSqlDDz10tV9s2223LV/84hef7TL1e3Pnzi0LFizo1decPXv2Ml9728iRI6twEgAAAKApE503hvQtP3fUjTfeWKZNm1amTJlSXvnKV/bKwvVHmZNr8uTJZenSpX3y+mmDvtDR0VFmzpxZRo8e3SevDwAAAAwsPQ6lnnzyyTJhwoTy61//uqy77rpd96+zzjplp512qkKpa6+9treXs99IqDNjxoxer5Tqa6mUEkgBAAAAtYZSCaL23HPP8vOf/7wMHTq0dHZ2Vl+7y+Tm//Ef/1HNPcWqGQYHQKvreHxesxeh3/LeAgD0IJRKALVo0aKunwcNGlTdVjSsb0X3AwDtZcS9Vzd7EQAA6OdWe/he97AplVKnnnpqGTJk2V+/7777qmF8AEB7e3zL3cvSEYZt91WllNAPAKAHoVSCqO422WSTpw3h22KLLao5pQCA9pZAaunaY5q9GAAA9GNrdPW9OPzww8uIESN6d2kAAAAAGBDWOJQ688wzq6vvbbbZZmXXXXctG2+8ce8uGQAAAAD9VsfqPnFFE5g//PDD5bLLLit77713Ofroo8sDDzzQ28sHAAAAwECtlMp8UkuWLFkmoDr++OO7hu/95S9/KWeddVY56KCDype//OWyzTbb9N0SAwAAADAwKqUSSO2zzz7V90uXLu26r+G5z31uOfvss8t+++1X3vOe95R//OMffbW8AAAAAAyUUGrIkCHltNNOq75/6qmnqqvsNcKp7o477rgyevTocs899/T+kgIAAAAwcCc6HzZsWPn+97+/4hcbMqR85StfKeuvv35vLBsAAAAAA7VSauHChdWcUqtr6NChz3aZAAAAABjoodTMmTPLu971rvLoo48+44tdcskl5YgjjuitZQMAAABgoA7fO+SQQ8o666xTXVnvbW97W9l3332XGZ6XuaWuu+668oUvfKGMGTOmXHDBBX29zAAAAAAMhDmlDjjggDJx4sRy8cUXl0MPPbQ88cQTVTCVoX0LFiwoL33pS8vRRx9dXv7yl/f9EgMDRsei+c1ehH7LewsAALTNROe5qt773//+6rZkyZLyyCOPlBEjRpSRI0f27RICA86oUaPK0GHDS7nnqmYvSr+W9zjvNQAAQFtcfS8GDx5cNtxww95fGoBSytixY8uM6ReX+fPbp5pn9uzZZdq0aeWkk04qm2++eWkHCaTyXgMAQH9gNED7vb9rFEoB9LWEJe0YmCSQGj9+fLMXAwAABgwjLdp3tMWzCqUyn5ThewAAAECzGGnRvqMtVjuUylX2Ojo6lrnviCOOKGeddVZ53vOe12sLBAAAANATRlq0p2VTplW44YYbyqRJk8ovfvGL6ud58+ZVk50fddRR1dX3dtxxx+rrS17ykr5cXgAAAAD6gR4N3+vs7Cxf+MIXyo9+9KMybty48ra3va1ceuml5Tvf+U712Lve9a5y4YUX9t3SAgAAADDwQqnNNtusnHnmmdW4x+nTp5ef/vSnVSjVGL43dOhQQ/kAAOBZcPWovuX9BWizUOp//ud/ypIlS6rv77777vKrX/2qbLzxxuVPf/pTXy8fAAAMCK4e1b5XjwKgD0OpBx54oFx22WVVJdTvf//7cs4551Tfn3feedXjja8PP/xw+dznPlfe8573lCFDntWF/QAAYEBx9aj2vXoUAGtmtZKjY489thx99NHl4osvLhdddFGZM2dOef3rX1/+8pe/lJe97GXlb3/7W3Vlvte97nVVgJX5pQAAgJ5x9SgABpLVLmd6znOeU975zneWp556qqqCyhmcF77wheXNb35z2X777ft2KQEAAADoVzp68uRBgwaVyy+/vLziFa8ob3nLW8prXvMagRQAAAAAfVMpNXHixDJ8+PBqWN5DDz1UDjrooLJw4cLqSny5NeTxVFLlinxjxozp+dIAAAAAMCCsVij15S9/uQqlli5dWg488MCyyy67lB/+8Idlxx13LO94xzvKOuus0xVK5Sp966+/fl8vNwAAAAD9ffje85///PK85z2vmnRx8ODB5dRTTy0/+clPqgkNMwH6tddeWz2+ySabVPdl0nMAAAAAeNYTncewYcPKD37wg7JgwYIycuTIcuSRR5b999+/uuIeAAAAAKyuHpc0/eEPfyj/9m//Vg3Vi4033rjstNNOPX0ZAAAAAAawHoVSqZA67bTTqonOcyU+AAAAAOjT4XuLFy8uH/jAB8rLX/7ysuWWW5bdd9+9DB06dJnnpHoqz/vFL36xRgsDAAAAwMDwjKHUwoULy/33319OPvnk6qp7U6ZMKY8++mi54IILypAhQ1YYSgEAAEC76Xh8XrMXoV/z/tLjUOqSSy4p55xzTjniiCPKBz/4weq+ddZZp7oBAABAfzHi3qubvQgwoDxjKHXIIYeU9dZbr3zxi1+sqqaOO+64Mn/+/PLzn/+8bLTRRmWDDTaoJjvPcwAAAKBdPb7l7mXpiNHNXox+XSkl+KNHodSIESPKwQcfXPbff/9yxhlnlEmTJpUTTzyx/PKXvyxPPvlkNfn5n/70pzJy5Mjyvve9r/zLv/zLM70kAAAAtJwEUkvXHtPsxYABY7UnOh82bFg1r9SnP/3pajjfl7/85TJ8+PCux6+++uoqrPrDH/5QVVMBAAAAwMp0lGeQsOnHP/5x18+5At9WW21V/vKXvyzzvFyNb8aMGWXQoEHP9JIAAAAADHDPWCl13333VVfay9C9vfbaqwwdOrSMHj26XHHFFU97bq6+99RTT/XVsgIAAAAwUEKpt73tbdXtqquuKhdeeGG57rrryi677FL23HPPKoTq7oknnqjmmQIAAACAXplTao899qhuV155ZfnYxz5WNtlkkzJ16tTybDzyyCPloIMOKhdffHH1epHXnD59etdzNttsszJr1qzq+zvuuKOccMIJZc6cOdXvHX/88YYLAgAAAPTnUKrhta99bZkwYUL585///KwDqSOPPLI88MADy9x/8803ly996UvlpS99afVzR8f/TXu1ePHi6vm77bZbNdF6wquZM2eWAw888FktBwAAAAAtONH5imy44YZl++23f1Z/eMqUKWXfffdd5r7MR3XnnXeWnXbaqay77rrVbeTIkV0Tri9YsKCqlEr1VH7/8ssvf1bLAAAAAECbVEr1ltNOO61suummZdq0aV33ZXje0qVLywEHHFAefPDBsvPOO1fPGzduXLntttuqCq0RI0ZUz916663L3Xff3eO/u2TJkl79P2hN2rne99r7/c/PnPfD+lenvvi8ab/6aL/2Z5tv/9fdQP//69bbnzntVy/bjP6//Vyymv9T00KpBFLLu+uuu8qWW25ZTj755LLeeuuV008/vfo+E6ynSqox71RkLqkM7Zs/f34ZNWrUav/dm266qdf+B1rX/fff3+xFGDASJj/22GNloGt85rwf1r869cXnTfvVR/u1P9t8+7/urH/16u3PnParl22G7WfTQ6kV2W+//apbwymnnFL22muvKpAaPHhwGTZs2DLPHz58eFm0aFGPQqntttuuei36t7XWWqvZizBgjB8/vroNdI3PnPfD+lenvvi8ab/6aL/2Z5tv/9ed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SgEAAABQO6EUAAAAALUbUv+fBIA1M3fu3LJgwYJef93Zs2cv87U3jRw5sowbN67XXxcAANqdUAqAtjBv3rwyefLksnTp0j77G9OmTev11+zo6CgzZ84so0eP7vXXBgCAdtaSodTUqVPL9OnTu37ebLPNyqxZs8odd9xRTjjhhDJnzpxy0EEHleOPP74MGjSoqcsKQD0S6syYMaNPKqX6UiqlBFIAANAmodTNN99cvvSlL5WXvvSlXWeZFy9eXI488siy2267lXPOOacKrnLm+cADD2z24gJQE8PgAACg/2i5ic6feuqpcuedd5addtqprLvuutUtZ5mvvvrq6ux4KqVSOTVlypRy+eWXN3txAQAAAOgPoVSG6GW+kAMOOKBsv/325Z3vfGc1se1tt91WJkyYUEaMGFE9b+utty533313sxcXAAAAgP4wfO+uu+4qW265ZTn55JPLeuutV04//fTq+xe+8IVlk0026Xpe5pLKsL758+eXUaNGrfbrL1mypI+WHNZc43OZrz6j7UkbQvNY/9qb9gNYM7aftLLV/Uy2XCi13377VbeGU045pey1115lq622KsOGDVvmucOHDy+LFi3qUSh100039eryQm+4//77uyoFH3vssWYvDmtAG0LzWP/am/YDWDO2n/QHLRdKLW+DDTaohvONGTOmmmuqu4ULF5ahQ4f26PW22267Mnjw4F5eSnh21lprrerr+PHjqxvtRxtC81j/2pv2A1gztp+0eqXU6hQFtVwodcYZZ5QXv/jF5Y1vfGP18w033FAN08scUpdddlnX8+67777qinw9qZKKBFJCKVpN4zPp89m+tCE0j/WvvWk/gDVj+0l/0HKh1Ite9KJy7rnnVpVRSdZOO+20atLzV73qVdXV96644opy4IEHlvPPP7/suuuuVj4AAACANtRyodT+++9fTXZ+zDHHVIFTKqamTJlShgwZUqZOnVqOPfbYcuaZZ1bVU9OnT2/24gIAAADQH0KpSPCU2/Iy4fmsWbPKLbfcUiZMmFBdnQ8AaA9z586tqp572+zZs5f52ptGjhxZxo0b1+uvCwBAi4ZSq7LhhhuWiRMnNnsxAIAemDdvXpk8eXJ18ZK+Mm3atF5/zVRmz5w5s4wePbrXXxsAYKBru1AKAGg/CXVmzJjRJ5VSfSmVUgIpAIC+IZQCAGphGBwAAN11LPMT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uWly/JAr7UWqoRIYJ+BP5X76L6mYasjVvNMXpX4JJbJvS2VNqrQzXC8V3pnHNG2VOYVzIjv9lhwD5hgjJ9jSppl2INNFZJ0dO3Zss/+VAb0tzfxsmT84BQkZCdN9xJITM/+/hFK0rgULFnS+6U1v6rzgggs6582b13Xf7NmzO++6667OBx54oPNLX/pS5+GHH149ds8993QeffTRnb/5zW+qn3/wgx90fuITn+h86qmnmvp/DGSPPvpo1T6f+tSnuu778Ic/3Pn973+/8/jjj+983/ve1/n44493PvHEE50f/ehHO4899tjOJUuWdJ5zzjmdr3nNa6rfpzmWLl1afZ01a1bn1ltv3fme97ynaqfPfOYz1c/nnnvu035n4cKF1XNiypQpnR/84AdrX27+6ZJLLula9xrtGZMmTercY489OhctWrTM83/2s591vupVr6q2r/Hkk092Pdb996nP3LlzO3fccceqXe6+++7qvsmTJ3eefPLJ1bYyso39yEc+0rl48eLO/fbbr/PSSy9d5jX+8Y9/NGXZB7q0R6RPMnHixM7rrruu89Zbb+08+OCDO2+77bau52UfmHUvvvGNb3Sts432pV6N9z37s3e/+93V+vad73yn89prr632a7vvvnvnzJkzu55/+umndx5yyCGd3/3ud6vfoTWkjXbddddqnWscExxzzDGdn//85zvf//73d1599dWd06dPr9os/Zq0+x/+8Ieqj5pt5vL7POtjvf785z933njjjdVxwrbbbtv5uc99rrr/uOOOq7aRd955Z/XzDTfcUH394Q9/2LnPPvtU29v0fX73u981dfkHuu7rz1ve8pbOHXbYofO8887reqz7+nTYYYcN+D6M0pkWl/Q0s/PnLGIqaXKmOFU2ufpFSjRzac8krhlaEpkcO8NKGkNLciYrlVOqbJqXjudsU4Z05Uxj5CxGqjRyVa+c6chVEVP9FinZTFVAKjjS5hkmlLHgNEfjbESqMDIBfcqfcyaxMQ9K2jcl7Y3LKWd8f84Sp2rxyiuvrM4sp71DUWpz5AxhhjGnYq3Rnoccckh19v+HP/xhNdFkdxmCktL4VMRF9zNS/fbsVItPip3hlamySVs2JuhNm+bCHSlpj6ybObufeVIOP/zwatLe7tVxqmzq1djepT0y5DVzEKU6I1WJ2SZm6FfaKcNKImd/G1fZS4Xp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dB9yKZBqPw8//HA1BCwThZqPCOqTEzKZByUn1BpDagHoeT80N4UJyxJKAQAAAFA7p4gBAAAAqJ1QCgAAAIDaCaUAAAAAqJ1QCgAAAIDaCaUAAAAAqJ1QCgCgRTzxxBNl8eLF1ferukBynnPvvffWuGQAAL1PKAUAULNtt922PProo0+7f9asWeWd73xnufbaa8tBBx1UFixYsMLfv+aaa8pb3/rW8uCDD9awtAAAfUMoBQBQs+HDh5dhw4Y97f611167ur3yla+sbrNnzy6LFi0q8+bNqwKqVFLllsf23Xffcv3113fdl+cl6HrkkUea8j8BAPTUoM5V1YYDANDrdtppp/LLX/6yDBkypOywww5lrbXWqu5fsmRJFS4lmFq4cGHZdNNNyzve8Y5y6qmnVs/NrSHP635funRPPfVUdbv55puXeS4AQCvSWwEAqMnvfve7csUVV1SB0imnnFL+/d//vQqifv3rX1eP//GPfywf/ehHy2WXXdYVNA0aNKh63vImTZpUDj744PLmN7+59v8DAKA3GL4HAFCTjTbaqOy2225VFdOuu+5axowZUzo6/tkdW3fddauhenHeeeeVm266qYlLCwDQtwzfAwBo0vC9zC2VSc+f85znlMcff7x8/vOfL8cee2z57W9/W/bee++qmiohVuR5S5cu7XqNVFgl0EolVeSxTJJ+3HHHNe3/AgDoCZVSAABNkiApwVJCqExevs4661QB1Zw5c8rDDz9cdt55567nZmL0DP279dZbq9uOO+5Ypk2b1vVzJj4fOnRoU/8fAICeEEoBADRJhuplUvNG5VOCp6222qr893//dzUBeiqpGroP81uZwYMH9+nyAgD0JhOdAwDU6O9//3sVQH3gAx8oW2yxRdlss82q+3PVvMw1laF9F154YTWMDwCgP1MpBQBQk+9973tl9913L3vuuWd15bz777+/vPrVry7nnHNONQRvww03rIbwZX6piRMnVsP4Gp5pGtAnnnhitaqpAABahZ4LAEBN9thjj/KjH/2onH322dWwvWuvvbZMmjSpqpA644wzyo033lhNdp6g6swzzywf+tCHyk9+8pOuSqruElLldu+991ZzT/3sZz8ru+yyS5P+MwCAnjN8DwCgJgmiclu8eHF1Zb3jjz++bLDBBuWYY44pX/jCF8pFF11UPv3pT5ftt9++HHbYYeXuu+/umuz89NNPL8973vO6XuvJJ5+sbltuuWX5z//8z7LddtuV9ddfv4n/HQBAzwzqfKZacAAAet2jjz5aDdVr+Otf/1oN22vMMZXheHPnzq1CJwCA/kgoBQAAAEDtzCkFAAAAQO2EUgAAAADUTigFAAAAQO2EUgAAAADUTigFAAAAQO2EUgAAAADUTigFAAAAQO2EUgAAAACUuv1/+fFb3GJgZZkAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 28
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A4\n",
    "问题: 高价房在面积、楼层等方面有什么特征？\n",
    "分析主题: 价格分层\n",
    "分析目标: 识别不同价位房屋特征差异\n",
    "分组字段: 价格分段(低中高)\n",
    "指标/方法: 列联表/卡方检验\n",
    "'''\n",
    "\"\"\"A4 价格分层特征差异分析\"\"\"\n",
    "print(\"\\n=== A4 价格分层特征差异 ===\")\n",
    "\n",
    "# 按价格分段分析特征\n",
    "price_group = df.groupby('price_labels').agg({\n",
    "    'area': ['mean', 'median'],\n",
    "    'building_age': 'mean',\n",
    "    'unit': 'median',\n",
    "    'zxs': 'mean'  # 直辖市占比\n",
    "})\n",
    "\n",
    "print(\"\\n各价格层级特征对比:\")\n",
    "display(price_group)\n",
    "\n",
    "# 可视化\n",
    "plt.figure(figsize=(14, 5))\n",
    "\n",
    "plt.subplot(131)\n",
    "sns.barplot(x='price_labels', y='area', data=df, estimator=np.median)\n",
    "plt.title('不同价格层级面积对比')\n",
    "plt.ylabel('面积(㎡)')\n",
    "\n",
    "plt.subplot(132)\n",
    "sns.boxplot(x='price_labels', y='building_age', data=df)\n",
    "plt.title('不同价格层级楼龄分布')\n",
    "plt.ylabel('楼龄(年)')\n",
    "\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "id": "913e7f3d09685bea",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A5\n",
    "问题: 哪种户型最受欢迎？三室比两室贵多少？\n",
    "分析主题: 户型分析\n",
    "分析目标: 分析不同户型的市场表现\n",
    "分组字段: rooms\n",
    "指标/方法: 占比/平均单价/溢价率\n",
    "'''\n",
    "\"\"\"A5 户型市场表现分析\"\"\"\n",
    "print(\"\\n=== A5 户型分析 ===\")\n",
    "\n",
    "# 提取房间数（示例：\"3室2厅\" -> 3）\n",
    "df['room_count'] = df['rooms'].str.extract('(\\d+)室').astype(float)\n",
    "\n",
    "# 按户型统计\n",
    "room_stats = df.groupby('room_count').agg({\n",
    "    'price': ['mean', 'median'],\n",
    "    'unit': 'median',\n",
    "    'area': 'median',\n",
    "    'city': 'nunique'\n",
    "}).sort_values(('price', 'mean'))\n",
    "\n",
    "print(\"\\n各户型市场表现:\")\n",
    "display(room_stats)\n",
    "\n",
    "# 可视化\n",
    "plt.figure(figsize=(14, 5))\n",
    "\n",
    "plt.subplot(131)\n",
    "sns.boxplot(x='room_count', y='price', data=df)\n",
    "plt.title('不同户型总价分布')\n",
    "plt.xlabel('房间数')\n",
    "\n",
    "plt.subplot(132)\n",
    "sns.scatterplot(x='area', y='price', hue='room_count', data=df, palette='viridis')\n",
    "plt.title('面积-价格-户型关系')\n",
    "\n",
    "plt.subplot(133)\n",
    "sns.barplot(x='room_count', y='unit', data=df, estimator=np.median)\n",
    "plt.title('不同户型单价对比')\n",
    "plt.xlabel('房间数')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "id": "4a72a40ab40c5623",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-17T18:31:24.287541Z",
     "start_time": "2025-08-17T18:31:24.121928Z"
    }
   },
   "cell_type": "code",
   "source": [
    "'''\n",
    "问题编号: A6\n",
    "问题: 南北向是否真比单一朝向贵？贵多少？\n",
    "分析主题: 朝向溢价\n",
    "分析目标: 评估不同朝向的价格差异\n",
    "分组字段: toward\n",
    "指标/方法: 方差分析/多重比较\n",
    "'''\n",
    "df['toward'].value_counts()\n",
    "# df.groupby('toward').agg({\n",
    "#     'price':['mean','median'],\n",
    "#     'unit':'median',\n",
    "#     'building_age':'mean',\n",
    "# })\n",
    "display(df.groupby('toward').agg({\n",
    "    'price':['mean','median'],\n",
    "    'unit':'median',\n",
    "    'building_age':'mean',\n",
    "}))\n",
    "# 数据可视化\n",
    "plt.figure(figsize=(14, 5))\n",
    "sns.boxplot(x='toward', y='price', data=df)\n",
    "plt.tight_layout()"
   ],
   "id": "b6b6ff2e082670de",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             price            unit building_age\n",
      "              mean median   median         mean\n",
      "toward                                         \n",
      "东北向     114.555333  100.0  12198.0    12.609524\n",
      "东南向     115.542608  105.0  10864.0    10.951745\n",
      "东向      110.158568   95.0  11421.0    12.761337\n",
      "东西向      98.935099   82.0   9000.0    15.490066\n",
      "北向       92.527907   75.5  11698.0    13.108527\n",
      "南北向     119.472147  104.5  10000.0    12.073703\n",
      "南向      114.555016  103.0  10759.0    11.551160\n",
      "西北向     119.107594  105.0  12290.0    13.473684\n",
      "西南向     139.711811  138.4  13333.0    13.452756\n",
      "西向      102.662298   86.0  12528.0    13.385093\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\10452\\AppData\\Local\\Temp\\ipykernel_32236\\1421266502.py:15: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.\n",
      "  print(df.groupby('toward').agg({\n",
      "C:\\Users\\10452\\AppData\\Local\\Temp\\ipykernel_32236\\1421266502.py:20: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.\n",
      "  display(df.groupby('toward').agg({\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "             price            unit building_age\n",
       "              mean median   median         mean\n",
       "toward                                         \n",
       "东北向     114.555333  100.0  12198.0    12.609524\n",
       "东南向     115.542608  105.0  10864.0    10.951745\n",
       "东向      110.158568   95.0  11421.0    12.761337\n",
       "东西向      98.935099   82.0   9000.0    15.490066\n",
       "北向       92.527907   75.5  11698.0    13.108527\n",
       "南北向     119.472147  104.5  10000.0    12.073703\n",
       "南向      114.555016  103.0  10759.0    11.551160\n",
       "西北向     119.107594  105.0  12290.0    13.473684\n",
       "西南向     139.711811  138.4  13333.0    13.452756\n",
       "西向      102.662298   86.0  12528.0    13.385093"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">price</th>\n",
       "      <th>unit</th>\n",
       "      <th>building_age</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>median</th>\n",
       "      <th>median</th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>toward</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>东北向</th>\n",
       "      <td>114.555333</td>\n",
       "      <td>100.0</td>\n",
       "      <td>12198.0</td>\n",
       "      <td>12.609524</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>东南向</th>\n",
       "      <td>115.542608</td>\n",
       "      <td>105.0</td>\n",
       "      <td>10864.0</td>\n",
       "      <td>10.951745</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>东向</th>\n",
       "      <td>110.158568</td>\n",
       "      <td>95.0</td>\n",
       "      <td>11421.0</td>\n",
       "      <td>12.761337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>东西向</th>\n",
       "      <td>98.935099</td>\n",
       "      <td>82.0</td>\n",
       "      <td>9000.0</td>\n",
       "      <td>15.490066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>北向</th>\n",
       "      <td>92.527907</td>\n",
       "      <td>75.5</td>\n",
       "      <td>11698.0</td>\n",
       "      <td>13.108527</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>南北向</th>\n",
       "      <td>119.472147</td>\n",
       "      <td>104.5</td>\n",
       "      <td>10000.0</td>\n",
       "      <td>12.073703</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>南向</th>\n",
       "      <td>114.555016</td>\n",
       "      <td>103.0</td>\n",
       "      <td>10759.0</td>\n",
       "      <td>11.551160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>西北向</th>\n",
       "      <td>119.107594</td>\n",
       "      <td>105.0</td>\n",
       "      <td>12290.0</td>\n",
       "      <td>13.473684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>西南向</th>\n",
       "      <td>139.711811</td>\n",
       "      <td>138.4</td>\n",
       "      <td>13333.0</td>\n",
       "      <td>13.452756</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>西向</th>\n",
       "      <td>102.662298</td>\n",
       "      <td>86.0</td>\n",
       "      <td>12528.0</td>\n",
       "      <td>13.385093</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1400x500 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAHqCAYAAAB/bWzAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXYxJREFUeJzt3QuYVmW5MOAX5BAHQzyhiJlYoJISpnnAjST5V6aimZVJZQcNsXY7dddGVELhNy3LXSlaaiVQpoKZbvp35E7Zlm7tT1MpRIXwAGIewAARBf7refu/6ZthwJlhmO+w7vu65lqz3vUys+B7WYdnPet5O23YsGFDAgAAAACgKnSu9A4AAAAAAPAPgrYAAAAAAFVE0BYAAAAAoIoI2gIAAAAAVBFBWwAAAACAKiJoCwAAAABQRQRtAQAAAACqiKAtAAAAAEAV6ZIKYP369en1119PnTt3Tp06dar07gAAAAAABbRhw4Ycq+zSpUuOVRY6aBsB24cffrjSuwEAAAAAkPbbb7/UrVu3YgdtS1Hr+MfYZpttKr07AAAAAEABrVu3LieXbi7LtjBB21JJhAjYCtoCAAAAAJX0RiVcTUQGAAAAAFBFBG0BAAAAAKqIoC0AAAAAQBURtAUAAAAAqCKCtgAAAAAAVUTQFgAAAACgigjaAgAAAABUEUFbAAAAAIAqImgLAAAAAFBFBG0BAAAAAKqIoC0AAAAAQBURtAUAAAAAqCJdKr0DAAAA1J5XXnklXX311enpp59OAwYMSJ///OdTjx49Kr1bAFShdevWpYceeii9+OKLafvtt0/7779/2mabbSq9W1VN0BYKaOXKleniiy9OS5YsSf3790/jx49PvXv3rvRuAQBV7g9/+EM666yzGta/9a1vpQMOOKCi+0RlTJgwIf32t79tWP/973+ffv7zn6fhw4enKVOmVHTfAKguc+fOTVdeeWV69tlnG9p22WWXNG7cuDRixIiK7ls167Rhw4YNqQDR/AcffDC9853vFMWn8MaOHZvmz5+/Ufvee++drrrqqorsEwBQ/UaOHLnJbXfeeWeH7gvVFbBtSuC2uGTSAc0FbCdOnJgOPfTQdMopp6Q999wzLVq0KM2YMSPdc889adKkSYUL3K5rYZxS0BYKGLDt1KlTOuqoo9JHPvKRdOONN6Y5c+akOBQI3AIArQ3YlgjcFqckwgc+8IGG9X333Td99rOfTddee23605/+1ND+y1/+UqmEgpFJBzQXj4tA7cCBA9PkyZNT587/mFpr/fr16bzzzssB3OnTpxcqXreuhXFKE5FBgUoilAK2cRF97rnnpre97W15GevRHtujHwBAeUmE9uxHbfvOd77T8P3tt9+eg3Tvete78jLWm+tHcTLpIjBzxRVXpNmzZ+dlrEd7bAeKJzLv40FOBG7LA7Yh1qN96dKluR8bE7SFgogatiEybN/0pjc12hbr733vexv1AwAI5TVs26Mfte2//uu/8nKvvfbK2UGXX355Ouecc/Iy1iNIV96PYmSMRdA+Xn2OTLohQ4aknj175mWsR/vUqVNzP6BYolRKiJIIzSm1l/rRmKAtFERMOhaiJEJzTjrppEb9AACgqXidNSxfvjyXSYjJx0qTkMV6tJf3o/7JpAM2JWpbhyiB0JxSe6kfVRK0ffnll9Mf//jHtGLFikrtAhRK//798zJq2MZT7gceeCDdcccdeRnrN910U6N+FEsci7/whS/k4H0sHZsBgObsuuuuefnCCy80u72ULVXqR/2TSQdsSkxGGLWtY9Kxpg/zYj3a43wR/aiSoG3UzzzyyCNzweEjjjgir4cFCxakE088MR100EHpkksuyRMjldx33335ye3BBx+cfvjDH1Zit6GmjR8/Pi9/9atfpZNPPjl9+ctfThdddFFexnpMRlbej+KI7IfRo0enRx55JP31r3/Ny1iPdgDo0qVLu/ajtn39619v137UPpl0wKZE2ZyYjPCee+7JMcB58+al1atX52WsR/sZZ5xRqEnIqjpo+7e//S1NmjQpzwx32223pQsuuCB94xvfSGvXrs0z20fdm5kzZ6YnnngizZo1q+GJXHyIH/zgB9PPfvaz/Ofuvffejt51qGm9e/dOu+22W/7+ueeeyw9Hvvvd7+ZlrIfYHv0ojgjMPvPMM/n7d7/73el73/teXoZoF7gFoGvXru3aj9p2ww03tGs/ap9MOmBzRowYkeOACxcuTGeeeWY6+uij8zIe6ER7bKd5Hf44PGamj9nq995777y+7777ppdeeinPJhnbIsuvR48eeSKD+PAi8/YXv/hF2nnnnfOHGjPcR5T+5ptvToccckhH7z7UrCiBEF+9evVKq1atSvfff3/+Kon2uKiKPp5yFUOUQCgFbGOG35gwIlx66aX56WecTGN79OvTp0+F9xaASnnllVfatR+17e67725xP5PTFSuTbuLEiWnChAk5AaB79+7p1VdfzW/MRsJV3Nu7x4DiisDs8OHDc23rSMyMzPt4kOO4UGVB23jCdtxxx+XvX3vttfTjH/84z2Y/f/78NHTo0BywDYMHD87ZtuHRRx/NZREiYBvig73sssta/bvNVkmRPfjgg3mCgP322y89/PDDG22PmX6jPfq9853vrMg+0rHiAVqIbOu4sC4/Rsb6gQcemCcWiX7f+c53KrinANQK19v1r6V1SaOf8VAcEYyJuRHirdl43bkkAjLRHtuNB6Bpxn1RjwvrWvj3rljhqQjSfupTn8qvUUWG15VXXpkGDBjQsD0CtDHTZGR4RQbuXnvt1bAtXt8uvc7dGs0FqqAo/vCHP2z2/0GpvdSP+vf000/nZby1EMH6piJLIoK20a+57QDQlPMF5YyH4ojsuZjYeJ999skJWHGfH0lakYAV7ZGcpTwCQOtULGgbB/Jrr702XXzxxbn48O677566devWqE9keq1ZsyY/nSvfVmpvrcgwlHpNUcXrSSWRWXnooYc2vLYUT8NLpRKirrRM22KIB2XxYCxeWTv++OM32v7Tn/60oZ8xAUBLOF8UT5SxiwSbeEuyaWKN8VCcjLGYpyYSAS688MKcfFUS5ddiHpuYDDnmSnA/Xj2WLFmSE+TqSST49e/fv9K7AS06brYksbRiQdvIpH3HO96RZxWN8ghR7+ixxx5r1CfqbsYTuqilWP4aTqm9teIE4SRBUZVeU4r/O4sXL25UzzYutktPw6PfYYcdVsE9paP87//9v9Po0aPzWIgato8//nhDfaG3ve1tOcu21M+xE4CWcL4ongjUbuotSOOhOFm2UYbt/PPP3+g+PcbAmDFj8vw0MVv8sGHDKraf/MPy5cvzm89NJ46rdfHAICa032677Sq9K9AuOjxoG4XIf/Ob36SvfvWreT0yaCOAG09n47WJkqeeeiqtXbs2B2wjQ/b2229v2PanP/0p9evXr6N3HWraggUL8jICs/F19tln52zbCNJed911ua28H/Uvjq+77bZbnmzs2GOPbbZPbDcJGQAAm1JKsNpzzz2b3V5qb2k9ZLa+CGpOnz69QzJtI2FoypQpeZK6PfbYY6tn2grYUk86PGj71re+Nd144415GbPHXX755bko+RFH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a9pGuaJoj7dfTERWnJIIkWF76KGHNhoPQ4YMyevnnXdemjp1aho+fLiH6AAAUA9B2/e+973p0UcfbXZbBGXjqzmRmTtnzpxcS2/o0KGpb9++W3lPAaA4IvAWr7xHBmUE5GLCsSiJEBm2EbCNN2EmTZokQFfAGsflAfwQ6zE+osZx9FPjGAAA2l/FJiJri5122imNHDmy0rsBAHUpapRGYDYyLCMgVxIZttGuhmlxqHEMAACVVVNBWwBg64rAbLzyHhmUEZCLGrZREkGGbXFrHL/97W9Pt956a1qyZEnq379/Gj16tBrHAAC0uvyWe4zWEbQFABqJiyevvBdbqcbxlClTcpmEqGtcErVsY5saxwAAtERMYBtv88V1ZUlcT0Z5Nm/zbVrjImUAABReBO732muvnF0b35988sl5EthYxnq0Dxw4UHYEAABvGLCNeTPi2vGKK65Is2fPzstYj/bYTvNk2gIA0MjatWvTvffem3r16pV69+6dfvrTn+avUlbE3/72t7w9+nXr1q3SuwsAQJWWRIgM20MPPTRNnjy5YYLbIUOG5PWYADne4orybJIBNibTFgCARqKGbVxkn3HGGeknP/lJ+va3v53OP//8vJwxY0YaO3Zs3h79AACgOVHDNkoinHLKKQ0B25JYj/alS5fmfmxMpi0AAI1E+YMQWRHN1TiO9vJ+AADQVEw6Fvbcc89mt5faS/1oTKYtAACN9O/fPy/vueeeZreX2kv9AACgqe233z4vFy1a1Oz2UnupH40J2gIAjUSd0ptuuin9+7//e17GOsUyevTonGF77bXXptdff73Rtli/7rrr8vboBwAAzdl///3zfAhRXmv9+vWNtsV6tO+66665HxsTtAUAGlx11VXpAx/4QJ7R9ZZbbsnLWI92iiMmFzvppJPSSy+9lJe33XZbev755/OyvN0kZAAAbEo85B83blx+SysmHZs3b15avXp1XsZ6tMccCiYha56atgBAFoHZG264IfXt2zd99rOfzXVL40Iqsi2jPcQEVBRD6bOObOvLLrusoT0uqj/2sY8ZCwAAvKERI0akSZMmpSuvvDKdeeaZDe2RYRvtsZ3mCdoCAA0lESJgG8suXf5+iXDMMcek97///TmrMto/85nPyK4skAjMfupTn0pXX311evrpp9OAAQPS5z//+dSjR49K7xoAADUiArPDhw9PDz30UJ50LGrYRkkEGbabpzwCAJBuvfXWtG7dupxhWwrYlsR6BGtje/SjOObOnZs+/elPp5///Ofp97//fV7GerQDAEBLRYB22LBhadSoUXkpYPvGBG0BgLRkyZK8jJIIzSm1l/pR/yIwO3HixDRw4MBc23j27Nl5GevRLnALAABbj6AtAJD69++fl1HDtjml9lI/6ltkVUfdsQjWT548OQ0ZMiT17NkzL2M92qdOnZr7AQAA7U/QFgBIo0ePzq8oxaRjr7/+eqNtsX7dddfl7dGP+hf1xp599tl0yimnpM6dG18uxnq0L126NPcDAIA3Eg/7H3jggXTHHXfkpYf/b8xEZABAnlwsJhu74YYb8jJq2EY2ZWTYRsD2pZdeSh/72MdMQlYQMUFE2HPPPZvdXmov9QMAgE2JslrxFlckBZTssssuady4cXmSMponaAsAZGPHjs3Lm266KV122WUN7ZFhGwHb0nbqX8zoGxYtWpT23nvvjWb6jfbyfgAAsLl5EiIh5Pzzz88P/+NacsaMGbl90qRJArebIGgLADSIwGxk2d5666150rGoYRslEWTYFksEZiP74Tvf+U5asWLFRlkRffr0SbvuumvuBwAALZknoVR2qzRPwnnnnZfnSRg+fHhOFKExNW0BgGZLJXzpS1/KSwHb4omL5pEjR6ZHH300vfrqq+mcc85JM2fOzMtYj/YjjjjCxTUAAJtknoQtI9MWAICNsiLuvPPONHjw4LR8+fL0zW9+s1GmbbTfdddd6bTTThO4BQCgWeZJ2DKCtgBQQ6JkwcqVK1M96d27dy7DQPVlRUTdseZq2s6fPz+deeaZuX3YsGGV3l0AAKp8noQoidCUeRI2T9AWAGpEZDyOGTMmrV+/PtWTeDVq1qxZabvttqv0rtBMVkRk0jYNzMqKAACgpfMkxKRj5TVtQ9zTRLt5EjZN0BYAakQENadPn94hmbaLFy9OU6ZMSRMmTEh77LHHVs+0FbCtLrIiAADYUvHwf9y4cWnixIl50rGoYRsP/+NaMgK299xzT5o0aZJyW5sgaAsANaSjywhEwHbQoEEd+jupPFkRAAC0hxEjRuTA7JVXXpnLa5XEtWS0x3aaJ2gLAEAjsiIAAGgvEZgdPnz4RvMkuJbcPEFbAAA2IisCAID20tw8CWyeoC0AAM2SFQEAAJUhaAsAwCbJigAAgI73j1klAAAAAACoOEFbAAAAAIAqImgLAAAAAFBF1LQFAAAAgIJasmRJWrlyZaonvXv3Tv3790+1TNAWAAAAAApo+fLlacyYMWn9+vWpnnTu3DnNmjUrbbfddqlWCdoCAAAAQAFFUHP69Okdkmm7ePHiNGXKlDRhwoS0xx57bPVM2+1qOGAbBG0BAAAAoKA6uoxABGwHDRrUob+zFpmIDAAAAACgigjaAgAAAABUEeURAADYpHXr1qWHHnoovfjii2n77bdP+++/f9pmm20qvVsAAFDXBG0BAGjW3Llz05VXXpmeffbZhrZddtkljRs3Lo0YMaKi+wYAAPVMeQQAAJoN2E6cODENHDgwXXHFFWn27Nl5GevRHtsBAICtQ9AWAICNSiJEhu2hhx6aJk+enIYMGZJ69uyZl7Ee7VOnTs39AACA9idoCwBAI1HDNkoinHLKKalz58aXi7Ee7UuXLs39AACA9idoCwBAIzHpWNhzzz2b3V5qL/UDAADal6AtAACNbL/99nm5aNGiZreX2kv9AACA9iVoCwBAI/vvv3/aZZdd0owZM9L69esbbYv1aN91111zPwAAoP0J2gIA0Mg222yTxo0bl+6555503nnnpXnz5qXVq1fnZaxH+xlnnJH7AQAA7a/LVviZAADUuBEjRqRJkyalK6+8Mp155pkN7ZFhG+2xHQAA2DoEbQEAaFYEZocPH54eeuihPOlY1LCNkggybAEAYOsStAUAYJMiQDts2LBK7wYAABSKmrYAAAAAAFVE0BYAAAAAoIoI2gIAAAAAVBE1bQEA2KR169aZiAwAADqYoC0AAM2aO3duuuKKK9KyZcsa2vr165fOPPPMNGLEiIruGwAA1LOKlEf49a9/nUaNGpX23XffNHr06PTEE0/k9gULFqQTTzwxHXTQQemSSy5JGzZsaPgz9913X/rABz6QDj744PTDH/6wErsNAFCogO0FF1yQli9f3qg91qM9tgMAAHUStH3yySfTueeem84+++x8sf/Wt741TZgwIa1duzaNHTs2DRkyJM2cOTMHcmfNmpX/TLyOd8YZZ6QPfvCD6Wc/+1m67bbb0r333tvRuw4AUJiSCN/61rfy9wcccEDOtp09e3ZexnqI7dEPAACog6BtBGMjYHv00UenHXfcMZ188snpz3/+cw7grly5Mo0fPz695S1vSWeddVa6+eab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nuvgdurUqdK7AwAAAAAU0IYNG3KsMubvilhloYO2AAAAAAC1YtPhXAAAAAAAOpygLQAAAABAFRG0BQAAAACoIoK2AAAAAABVRNAWAAAAAKCKCNoCANBqa9euTS+++GKldwOAGrdy5cr8BRSTa8pNE7St0QE9d+7ctGHDhq36e5w863s8/PrXv04PPPBAi/sbD8UbK06etc/5gpb6r//6r3TSSSfl7+PccNRRR73hn3nooYfSEUcckV544YUO2EO2lnvuuScfJ7Ymx4jijRXXELVp9erV6fXXX3/DfuvXr0+vvPLKRu3Tpk1L//Iv/5K/v/3229Opp57aot97xx13pPe973153FB/3HfWvy09drim3DRB2xo96P3rv/5reumll1rU38mzvrV2PJTceOON6eGHH25xf+OheGPFybP+P/PShdO6deve8GdFnzVr1jS7zfGh9nXp0iW96U1vyt/Hsnv37m/4Z+6+++505JFHph122KED9pCt5Ve/+lX67W9/26K+rimLrTVjxTVE7Ynz/DHHHJM++MEP5mV8veMd70gf+MAH8oO8YcOGNbQfe+yx6dOf/nS7nEtK55PRo0enbt26tfvfi8oF4krcd9a39jh2uKbctC6b2UaViAypTp06NXz//e9/P18wb7/99hsdLKNfqW+Jk2exx8N9992XPv/5z+ft8fl37vz3ZzWLFy9OTzzxRD6JlsSJsXfv3mnWrFkb/V7joXjHDifP+v/Mly5dmj7xiU/k88I222yTty1cuDANHDgwrVq1Kn/tvPPODT9vr732St/5znc2+r2OD/Xttddeyzdjb37zm9N3v/vddMUVVzScS8K+++670Z+JMXbCCSekiy++uIP3lk15+umn8w1UHNN79OjR8H/+mWeeSdtuu22jYFx85nGzfueddzb0C64pi6E9xopriNoTn1+8dVHu/e9/f5oxY0ZatmxZuuSSS9KPfvSjNv/8uKaI31E6hvzbv/1b+vnPf97ofNLcz4/zyRe+8IX8RccH4rp27Zq/wl/+8pe0++6750Du888/n3bbbbeGa8Q4Nnz5y19231lAbT12uKZsGUHbGhAD+cc//nEezHFwe/XVV9Pll1+ev8oPqnHBdP3116cDDzywxT/bybP+x8O73/3u9OCDDzb6GfFn3vWud+WTZJ8+fTb5u4yH4h07nDyL95k3vcg6+OCD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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 32
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
